package com.fabiodocarmo.calendario.bo;

import com.fabiodocarmo.calendario.beans.DetalheNaoRepetivel;
import com.fabiodocarmo.calendario.beans.DetalheRepetivel;
import com.fabiodocarmo.calendario.dao.DetalheNaoRepetivelDao;
import com.fabiodocarmo.calendario.dao.DetalheRepetivelDao;
import com.fabiodocarmo.calendario.dao.util.DataAccessLayerException;

/**
 * Classe de negócio do calendário.
 * @author Taciano Morais Silva - tacianosilva@gmail.com
 * @version 16/03/2009, 13H22MIN - Fábio do Carmo Gomes - fabioducarmo@gmail.com
 * @since 13/03/2009, 11h02m
 */
public class CalendarioBO {

	public DetalheRepetivel buscarDetalheRepetivel(int dia, int mes) throws CalendarioException {
		try {
			DetalheRepetivelDao dao = new DetalheRepetivelDao();
			DetalheRepetivel detalheRepetivel = dao.buscar(dia, mes);

			return detalheRepetivel;
		} catch (DataAccessLayerException e) {
			// TODO: handle exception
			e.printStackTrace();
			throw new CalendarioException("erro.buscar.bo.dnr", e);
		}
	}



	public DetalheNaoRepetivel buscarDetalheNaoRepetivel(int dia, int mes, int ano) throws CalendarioException {
		try {
			DetalheNaoRepetivelDao dao = new DetalheNaoRepetivelDao();
			DetalheNaoRepetivel detalheNaoRepetivel = dao.buscar(dia, mes, ano);

			return detalheNaoRepetivel;
		} catch (DataAccessLayerException e) {
			// TODO: handle exception
			e.printStackTrace();
			throw new CalendarioException("erro.buscar.bo.dnr", e);
		}
	}

	public void alterarDetalheRepetivel(DetalheRepetivel detalheRepetivel) throws CalendarioException {
		try {
			DetalheRepetivelDao dao = new DetalheRepetivelDao();
			dao.update(detalheRepetivel);
		} catch (DataAccessLayerException e) {
			// TODO: handle exception
			e.printStackTrace();
			throw new CalendarioException("erro.bo.alterar.dr", e);
		}
	}

	public void alterarDetalheNaoRepetivel(DetalheNaoRepetivel detalheNaoRepetivel) throws CalendarioException {
		try {
			DetalheNaoRepetivelDao dao = new DetalheNaoRepetivelDao();
			dao.update(detalheNaoRepetivel);
		} catch (DataAccessLayerException e) {
			// TODO: handle exception
			e.printStackTrace();
			throw new CalendarioException("erro.bo.alterar.dnr", e);
		}
	}
}
